package com.example.custom_view

import android.content.Intent
import android.net.Uri
import android.os.Bundle
import android.widget.LinearLayout
import androidx.activity.enableEdgeToEdge
import androidx.appcompat.app.AppCompatActivity
import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat

/**
 * 一.自定义view方式
 * 自定义继承view，自己完成onDraw绘制内容
 * 自定义继承viewGroup，自己完成onLayout摆放子控制位置（流式布局）
 * 自定义继承现有组件，比如TextView、ImageView、Recyclerview
 * 组合控件：继承FrameLayout，多个组件组合在一起，构造中加载R.layout.Xxx布局（搜索框、验证码框）
 *
 * 二.三个重要方法
 * onMeasure：测量 viewGroup需要，view需要测量自己的大小
 *      * （1）测量规格32位(MeasureSpec) = 测量模式2位(MeasureMode) + 测量大小30位(MeasureSize)
 *      * （2）测量模式3种
 *      *      a。EXACTLY：精确尺寸。match_parent 或精确数值。
 *      *      b。AT_MOST：最大尺寸。wrap_content。
 *      *      c。UNSPECIFIED：未指定尺寸。listview\recyclerview
 * onLayout：布局 view不需要，viewGroup不需要
 * onDraw：绘制 view需要，viewGroup不需要
 *
 * 三.自定义属性
 */
class MainActivity : AppCompatActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        enableEdgeToEdge()
        setContentView(R.layout.activity_main)
        findViewById<LinearLayout>(R.id.main).setOnClickListener {
            val intent = Intent("com.bawei.DETAIL")
            intent.setData(Uri.parse("com.example.activity://com.bawei/detail:8080?goodsId=101"))
            startActivity(intent)

//            <a href="com.example.activity://com.bawei/detail:8080?goodsId=101">打开商品详情</a>
        }

    }
}